﻿#define _CRT_SECURE_NO_WARNINGS 
#include<stdio.h>
#include<stddef.h>

//枚举的关键字
//enum Sex  //性别
//{
//	//这里列举枚举enum Sex的可能取值
//	//为三的取值
//	//这些可能取值是常量，也叫枚举常量
//	MALE=2,
//	FEMALE=8,
//	SECRET=10
//};
//
//int main()
//{
//	printf("%d\n", MALE);
//	printf("%d\n", FEMALE);
//	printf("%d\n", SECRET);
//
//	//枚举变量的值，必须以枚举常量的值赋值
//	enum Sex s = MALE;
//	s = FEMALE;
//	return 0;
//}

// 经常和#define  进行对比

//enum test
//{
//	A, //枚举常量1
//	B, //枚举常量2
//	C //枚举常量3
//};


//枚举运用
//enum test
//{
//	//利用枚举定义五个通道
//	EXIT,
//	ADD,
//	SUB,
//	MUL,
//	DIV
//}s;



//int main()
//{
//	int input = 1;
//	while (input)
//	{
//		scanf("%d", &input);
//		//利用枚举常量配合case通道
//		switch (input)
//		{
//		case EXIT:
//			printf("退出程序!\n");
//			break;
//		case ADD:
//			printf("加法\n");
//			break;
//		case SUB:
//			printf("减法\n");
//			break;
//		case MUL:
//			printf("乘法\n");
//			break;
//		case DIV:
//			printf("除法\n");
//			break;
//		default:
//			break;
//		}
//	}
//	return 0;
//}


////枚举运用
//enum test
//{
//	//利用枚举写出五个通道数据
//	exit,
//	add,
//	sum,
//	sub,
//	div
//}s;



//int main()
//{
//	int input = 1;
//	while (input)
//	{
//		scanf("%d", &input);
//		//利用枚举常量配合通道
//		switch (input)
//		{
//		case exit:
//			printf("退出程序\n");
//			break;
//		case add:
//			printf("加法\n");
//			break;
//		case sum:
//			printf("减法\n"); 
//			break;
//		case sub:
//			printf("乘法\n");
//			break;
//		case div:
//			printf("除法\n"); 
//			break;
//		default:
//			printf("输入有误，请重新输入"); break;
//		}
//	}
//	return 0;
//}

//#define 给他定义 就是纯符号的，不算啥类型的 

//枚举类型创建的变量是可以调试的


//枚举的关键字
//enum Sex
//{
//	//这里列举枚举enum Sex的可能取值
//	//这些可能取值是常量，也叫枚举常量
//	MALE=5,
//	FEMALE=8,
//	SECRET=10
//};
//
////#define MALE 5
//#define MAX 10
//
//
//int main()
//{
//
//	printf("%d\n", MALE);
//	printf("%d\n", FEMALE);
//	printf("%d\n", SECRET);
//
//	enum Sex s = MALE;
//	s = FEMALE;
//
//	return 0;
//}
//
//enum Sex
//{
//	//这里列举枚举enum Sex的可能取值
//	//这些可能取值是常量，也叫枚举常量
//	MALE,
//	FEMALE,
//	SECRET
//};
//
////  当调试的时候就不会看到 MALE 而是5
////  当然 enum //是可以进行调试的，和#define 是不可以
//#define  MALE 5  //这边会直接把MALE 直接变为5    会被直接替换
//#define  MAX 10  //下面这个也一样把MAX 直接转变为10
//
//int main()
//{
//	//枚举声明的话 会有作用域的遵循规则
//	printf("%d\n",MALE);
//	printf("%d\n",FEMALE);
//	printf("%d\n",SECRET);
//
//	return 0;
//}


//enum Color//颜⾊
//{
//	RED = 1,
//	GREEN = 2,
//	BLUE = 4
//};
////尽可能不要整形常量的值对他进行直接赋值 会报错
//enum Color clr = 5;
//int main()
//{
//	//enum Color clr = 5;//使⽤枚举常量给枚举变量赋值
//	printf("%d\n",RED);
//	printf("%d\n", GREEN);
//	printf("%d\n",BLUE);
//	return 0;
//}
#include<string.h>

//char* findRound(char* str1, char* str2)
//{
//	char tmp[256] = { 0 };
//	strcpy(tmp, str1);//AABCD
//	strcat(tmp, str1);//AABCDAABCD
//	char* p = strstr(tmp, str2);
//	return p;
//}
//
//int main()
//{
//	char* p = findRound("AABCD", "BCDAA");
//	if (p != NULL)
//	{
//		printf("%s\n", "是旋转之后的结果");
//		printf("%s\n", p); 
//	}
//	return 0;
//}

//char* findRound(char* str1, char* str2)
//{
//	char tmp[256] = { 0 };
//	strcpy(tmp, str1); //复制
//	strcat(tmp, str1); //拷贝
//	char* p = strstr(tmp, str2); //寻找
//	return p;
//}
//
//int main()
//{
//	char* p = findRound("AABCD", "BCDAA");
//	if (p != NULL)
//	{
//		printf("%s\n","是旋转之后的结果");
//		printf("%s\n", p);
//	}
//	return 0;
//}

//写一个函数，判断一个字符串是否为另外一个字符串旋转之后的字符串。
//char* findRound(char* str1,char* str2)
//{
//    char tmp[256] = { 0 };
//    strcpy(tmp, str1); //先拷贝
//    strcat(tmp, str1); //复制
//    char* p = strstr(tmp,str2); //寻找
//    return p;
//}
//
//int main()
//{
//    char* p = findRound("AABCD", "BCDAA");
//    if (p != NULL)
//    {
//        printf("%s\n","旋转之后的结果");
//        printf("%s\n", p);
//    }
//    return 0;
//}
//
//char* findRound(char* str1, char* str2)
//{
//    char tmp[256] = { 0 };
//    strcpy(tmp,str1);
//    strcat(tmp, str1);
//    char* p = strstr(tmp, str2);
//    return p;
//}
//
//int main()
//{
//    char* p = findRound("AABCD", "BCDAA");
//    if (p != NULL)
//    {
//        printf("%s\n", "旋转之后的结果");
//        printf("%s\n",p);
//    }
//    return 0;
//}